A typical approach for creating a graphical user interface (GUI) is to write a software program which is designed to operate in conjunction with a tool kit to cause routines of the windowing system to generate a GUI. For example, the X Window System.TM. provides a library known as Xt that contains data types called "widgets," with which application programmers may implement a GUI in the C programming language. Another such tool kit is Motif, which was created by the Open Group.
One of the disadvantages of creating GUIs in this manner is that intensive programming is often required in order to write the software program which interfaces with the tool kit to create the GUI. Also, since these types of tool kits are adapted to be implemented with a particular windowing system (e.g., the X Window.TM. System), the software program written to work with the tool kit is normally limited to use with the particular windowing system.
Another disadvantage of utilizing a tool kit to create GUIs is that a GUI created in this manner cannot be easily modified. In order to modify the GUI, the software program must be modified or rewritten, which can be a very tedious and time consuming process. Furthermore, this cannot be easily done by anyone other than persons trained or experienced in writing or modifying the particular type of software program. Therefore, if the user of the GUI wants to modify the GUI, doing so will be a difficult task.
Drawing programs are currently available on the market which enable a person to create a GUI by drawing the desired GUI, rather than writing code to create the GUI. One disadvantage of using a drawing program to create a GUI is that a GUI created with a drawing program is difficult to modify. Once the GUI has been created, the drawing program normally cannot be used to modify the GUI. Rather, the GUI file created with the drawing program must be modified in order to modify to GUI. Since the GUI file created with the drawing program normally is not in a form that is easily readable by humans, modifying a GUI created in this manner can be an extremely arduous task. Another disadvantage of using these types of drawing programs to create GUIs is that they are usually designed to be implemented with a particular windowing system and are not adapted to be used with multiple types of windowing systems.
Accordingly, a need exists for a method and apparatus that can be used for creating a GUI which are suitable for use with different types of windowing systems and which enable a GUI to be easily created and/or modified by a user without having to write code.